const fs = require('fs');
const students = require('./students.js');

// 这样也不方便
// module.exports = function (app) {
//     app.get('/', function (req, res) {
//         fs.readFile('./db.json', 'utf8', function (err, data) {
//             if (err) {
//                 return res.status(500).send('Server error.');
//             }
//             res.render('index.html', {
//                 students: JSON.parse(data).students
//             });
//         })
//     })
// }

const express = require('express');

// 1. 创建一个路由容器
const router = express.Router();

// 2. 把路由都挂载到路由容器中

// 主界面
router.get('/students', function (req, res) {
	students.findAll(function (err, data) {
		if (err) {
			return res.status(500).send('Server error');
		}
		res.render('index.html', {
			students: data
		})
	})

})

// 新增页面
router.get('/students/new', function (req, res) {
	res.render('new.html');
})

// 点击新增时候的处理
router.post('/students/new', function (req, res) {
	const data = req.body;
	students.save(data, function (err, data) {
		if (err) {
			return res.status(500).send('Server error');
		}
		res.redirect('/students');
	});

})

// 编辑页面
router.get('/students/edit', function (req, res) {
	const id = parseInt(req.query.id);
	students.findById(id, function (err, data) {
		if (err) {
			return res.status(500).send('Server error');
		}
		res.render('edit.html', {
			student: data
		})
	})
})

// 点击编辑时候的处理
router.post('/students/edit', function (req, res) {
	const data = req.body;
	students.updateById(data, function (err, data) {
		if (err) {
			return res.status(500).send('Server error');
		}
		res.redirect('/students');
	})
})

// 点击删除时候的处理
router.get('/students/delete', function (req, res) {
	const id = parseInt(req.query.id);

	students.delete(id, function(err, data) {
		if (err) {
			return res.status(500).send('Server error');
		}
		res.redirect('/students');
	});
})

module.exports = router;
